package com.aitao.util.cmd;

import java.io.IOException;
import java.nio.file.Path;
import java.util.List;

public interface CmdRunner {
    /**
     * 在指定工作目录下,运行命令
     * 
     * @param workDir 工作目录
     * @param command 命令集
     * @return {@link Cmd} 命令执行结果
     */
    Cmd run(Path workDir, CharSequence... command) throws IOException;

    /**
     * 在指定工作目录下,运行命令
     *
     * @param workDir 工作目录
     * @param command 命令集
     * @return {@link Cmd} 命令执行结果
     */
    Cmd run(Path workDir, List<CharSequence> command) throws IOException;

    /**
     * 在指定工作目录下,运行命令
     *
     * @param command 命令集
     * @return {@link Cmd} 命令执行结果
     */
    Cmd run(CharSequence command) throws IOException;

    /**
     * 运行命令
     *
     * @param command 命令集
     * @return {@link Cmd} 命令执行结果
     */
    Cmd run(List<CharSequence> command) throws IOException;
}
